Method of computerized presentation of a legend of object symbols on a document

ABSTRACT

A method of computerized presentation of a legend of object symbols on a document. The method includes receiving a document having object symbols. Each object symbol includes a graphical representation, an object symbol type and an object type numerical value. The method includes generating one or more groups of object symbols of the one or more object symbols based upon the object symbol type of each of the object symbols. The method includes deriving a group cumulative quantity for each group of object symbols based upon the object type numerical value of each object symbol in each group of object symbols. The method includes generating a legend including a one or more legend entries corresponding to each of the one or more groups of object symbols. Each legend entry includes a group type symbol, the object symbol type, and a group cumulative quantity. The method includes displaying the legend.

CROSS-REFERENCE TO RELATED APPLICATIONS

This non-provisional patent application and claims priority to and the benefits of U.S. Provisional Patent Application Ser. No. 62/246,499, entitled AUTOMATIC ANNOTATION-BASED LEGEND GENERATION, filed on Oct. 26, 2015, and U.S. Provisional Patent Application Ser. No. 62/297,754, entitled AUTOMATIC ANNOTATION-BASED LEGEND GENERATION, filed on Feb. 19, 2016, the entire contents of which are both herein incorporated by reference.

STATEMENT RE: FEDERALLY SPONSORED RESEARCH/DEVELOPMENT

Not Applicable

BACKGROUND 1. Technical Field

The present disclosure relates generally to computerized document analysis. More particularly, the present disclosure relates to a method of computerized presentation of a legend of object symbols on a document.

2. Related Art

The core of modern business is information, with its creation, distribution, and management being primary functions. Information or content can be presented in a variety of different ways, including word processing documents, spreadsheets, graphics, photographs, engineering drawings, architectural plans, and so forth. In electronic form, these are all generally referred to as documents, and may be generated by software applications that are specific thereto. A typical workflow in the enterprise involves various personnel collaborating to create, review, and/or edit such documents, and because of advancements in high-speed data communications and computing capabilities, these processes can involve remote personnel.

Due to the existence of many different computing platforms having a wide variety of operating systems, application programs, and processing and graphic display capabilities, it has been recognized by those in the art that a device-independent, resolution-independent file format was necessary to facilitate such exchange. In response to this need, the Portable Document Format (PDF), amongst other competing formats, has been developed.

From the user interface perspective. PDF documents are typically rendered as a static, graphical image, in which individual elements thereof such as text, pictures, and other elements are not editable. However, one of several improvements that have been made since the initial releases of PDF readers, writers, and the standard itself, is the support for adding annotations to a base document. Such annotations are graphically overlaid or “placed” on the underlying document, with placement being precisely controlled by the user. Thus, the functionality is similar to graphic illustration/design and image manipulation applications where various objects can be positioned on a document canvas by navigating a cursor to a desired location and providing a subsequent input to make placement permanent. Before positioning the cursor, the object to be placed, such as a geometric primitive, a text box, or the like, is selected.

One of the significant advantages of working with electronic documents such as those in the PDF format is the ability to store and efficiently search information embedded therein. With non-electronic or paper documents, even with the best of cataloging and other indexing tools, searching and accounting for items of information proved to be an arduous and painstaking process.

In the construction industry, a punch list is a summary prepared near the end of a project listing work not conforming to contract specifications that a contractor must complete. The work may include incomplete or incorrect installations, incidental damage to existing finishes, material, and structures, and the like. The information of such punch lists would be in relation to specific locations at a work site, which can be correlated to locations on architectural or construction drawings. In this regard architectural drawings may be annotated with such information.

Material take off (MTO) is a term used in engineering and construction, and refers to a list of materials with quantities, characteristics and/or types that are required to build a designed structure or item. A list of required materials for construction is sometimes referred to as the material take off list (MTOL). This list is generated by analyzing architectural, blueprint, construction or other design documents and determining the materials and their characteristics that are required to accomplish the design. As such, the design documents are annotated with information at various locations about a work location that is used to generate a material take off list. For example, a kitchen location may be annotated with information regarding floor tiles to be used (and may include information regarding area, linear measurements, tile type, tile weight, etc.). The material takeoff may be used to create a bill of materials. Material take off is not limited to the quantity or amount of required material, but also the weight of the items taken off. This is important when dealing with larger structures, allowing the company that does the take off to determine total weight of the item and how best to move the item (if necessary) during construction.

There is a need in the art for an improved method for analyzing documents with regard to various items and objects located within the documents in comparison to the prior art.

BRIEF SUMMARY

In accordance with one embodiment of the present disclosure, a method of computerized presentation of a legend of object symbols on a document is provided. The method includes receiving a document having one or more object symbols. Each object symbol includes a graphical representation, an object symbol type and an object type numerical value associated therewith. The method further includes generating one or more groups of object symbols of the one or more object symbols based upon the object symbol type of each of the object symbols. The method further includes deriving a group cumulative quantity for each group of object symbols based upon the object type numerical value of each object symbol in each group of object symbols. The method further includes generating a legend including a one or more legend entries corresponding to each of the one or more groups of object symbols. Each legend entry includes a group type symbol, the object symbol type corresponding to the group of object symbols, and a group cumulative quantity. The method further includes displaying the legend on the document. In this regard, an aspect of the present invention allows for the creation of a legend or table that is automatically formatted with a graphical representation of a user's selected object symbols along with a description and cumulative numerical quantity of such object symbols according to selected groups.

According to various embodiments, the object type numerical value for a given object symbol may be 1. The object type numerical value for a given object symbol may correspond to a measurement, such as a linear distance or an area. A selected one of the one or more object symbols may have more than one object type numerical value associated therewith. Each legend entry may include a unit of measurement corresponding to the group cumulative quantity. Each legend entry may include a type description corresponding to the object symbol type. Each group type symbol may include a graphical representation. The method may further include receiving a selection of object symbols of the one or more object symbols. The generating of the one or more groups of object symbols is based upon the selected object symbols. The method may further include receiving changes to the document, and the changes include changes to a number of the object symbols. The method may further include revising the group cumulative quantity for each group of object symbols which have been changed, regenerating the legend, and redisplaying the legend on the document. The document may include multiple pages, and the method may further include receiving a page range of the multiple pages. The generated one or more groups of object symbols is within the received page range.

The present invention will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages of the various embodiments disclosed herein will be better understood with respect to the following description and drawings, in which:

FIG. 1 is an exemplary computer system that may be capable to perform functions for use with aspects of the present invention including a display monitor, a system unit, and input/output devices;

FIG. 2 is a block diagram showing the various components of the system unit in the exemplary client workstation of FIG. 1;

FIG. 3 is an exemplary graphical user interface of a software application for displaying a document with various object symbols selected;

FIG. 4 is a flowchart illustrating a method of computerized presentation of a legend of object symbols on a document is disclosed in accordance with one embodiment of the present disclosure;

FIG. 5 is the exemplary graphical user interface of FIG. 3 with the addition of a tools menu;

FIG. 6 is the exemplary graphical user interface of FIG. 5 with the addition of a legend;

FIG. 7 is the exemplary graphical user interface of FIG. 6 with the addition of a new object symbol;

FIG. 8 is the exemplary graphical user interface of FIG. 7 with the addition of a new object symbol;

FIG. 9 is the exemplary graphical user interface of FIG. 8 with the addition of a main window of the graphical user interface;

FIG. 10 is the exemplary graphical user interface of FIG. 9 with the addition of a new legend;

FIG. 11 is the exemplary graphical user interface of FIG. 10 with the addition of a new object symbol;

FIG. 12 is the exemplary graphical user interface of FIG. 11 with the addition of the tools menu; and

FIG. 13 is the exemplary graphical user interface of FIG. 12 with changes to the legend.

Common reference numerals are used throughout the drawings and the detailed description to indicate the same elements.

DETAILED DESCRIPTION

The detailed description set forth below in connection with the appended drawings is intended as a description of certain embodiments of the present disclosure, and is not intended to represent the only forms that may be developed or utilized. The description sets forth the various functions in connection with the illustrated embodiments, but it is to be understood, however, that the same or equivalent functions may be accomplished by different embodiments that are also intended to be encompassed within the scope of the present disclosure. It is further understood that the use of relational terms such as top and bottom, first and second, and the like are used solely to distinguish one entity from another without necessarily requiring or implying any actual such relationship or order between such entities.

A method of computerized presentation of a legend of object symbols on a document. The method includes receiving a document having object symbols is disclosed in accordance with various embodiments of the present invention. Additional details of this method will be discussed more fully below. It is understood that this method may be implemented as one or more computer-executable instructions that can be stored on a data storage medium.

FIG. 1 depicts an exemplary hardware environment in which various aspects of the contemplated method of computerized presentation of a legend of object symbols on a document. The method includes an initial step of receiving a document having object symbols. Generally, there is a computer system 10 with a system unit 12 and a display monitor 14. The display monitor 14 graphically displays output from the data processing operations performed by the system unit 12. The display monitor 14 is a visual output device and includes some form of a screen. The display monitor 14 may be of a Liquid Crystal Display (LCD) type, a Cathode Ray Tube (CRT) type, or any other suitable type of display. Input devices such as a keyboard 16 and a mouse 18 are manipulable by a user to generate corresponding inputs to the data processing operations, and are connected to the system unit 12 via USB ports 20. Various other input and output devices may be connected to the system unit 12, and alternative interconnection modalities may be substituted with the USB ports 20.

As shown in the block diagram of FIG. 2, the system unit 12 includes a Central Processing Unit (CPU) 22, which may represent one or more conventional types of such processors. A Random Access Memory (RAM) 24 temporarily stores results of the data processing operations performed by the CPU 22, and is interconnected thereto typically via a dedicated memory channel 26. The system unit 12 may also include permanent storage devices such as a hard drive 28, which are also in communication with the CPU 22 over an input/output (I/O) bus 30. Other types of storage devices such as tape drives. Compact Disc drives, and the like may also be connected. A graphics device 32 is also connected to the CPU 22 via a video bus 34, and transmits signals representative of display data to the display monitor 14. As indicated above, the keyboard 16 and the mouse 18 are connected to the system unit 12 over the USB port 20. A USB controller 36 translates data and instructions to and from the CPU 22 for external peripherals connected to the USB port 20 or wirelessly connected via Bluetooth connectivity. Additional devices such as printers, microphones, webcams, speakers, and the like may be connected to the system unit 12.

The system unit 12 may utilize any operating system having a graphical user interface (GUI), such as WINDOWS from Microsoft Corporation of Redmond, Wash., MAC OS from Apple, Inc. of Cupertino, Calif., various versions of UNIX with the X-Windows windowing system, and so forth. The system unit 12 executes one or more computer programs, with the results thereof being displayed on the display monitor 14. Generally, the operating system and the computer programs are tangibly embodied in a computer-readable medium, e.g. one or more of the fixed and/or removable data storage devices including the hard disk drive 28. Both the operating system and the computer programs may be loaded from the aforementioned data storage devices into the RAM 24 for execution by the CPU 22. The computer programs may comprise instructions, which, when read and executed by the CPU 22, cause the same to perform or execute the steps or features of the various embodiments set, forth in the present disclosure.

According to one embodiment, a user can interact with system unit 12, specifically with the graphics being displayed on the display monitor 14, via the mouse 18. The movement of a cursor generated on the display monitor 14 is lied to the movement of the mouse 18, with further interactivity being provided with input from the mouse buttons. Input from the keyboard 16 also provides interactivity with the system unit 12. It is understood that a user would interact with the system unit 12 though of the mouse 18, keyboard 16, and/or any other input modalities such as pen/digitizers, touch screens and the like.

The foregoing computer system 10 represents only one exemplary apparatus suitable for implementing aspects of the present invention. As such, the computer system 10 may have many different configurations and architectures. Any such configuration or architecture may be readily substituted. Moreover, the method may be implemented via a distributed system such as through the use of a computer server system with interactions between a remote server application and a client workstation.

FIG. 3 illustrates one exemplary graphical user interface 30 displaying a document 32 of a software application of computerized presentation of a legend of object symbols on a document. As utilized herein, the term document refers to an electronic file or standalone representation of data that can be opened, rendered and/or edited by the corresponding document editing software application. Accordingly, the document may be formatted and structured in a particular way so that its elements can be rendered consistently. In the exemplary embodiment discussed herein, a document reviewing software application handles Portable Document Format (PDF) documents, and the following description of computerized presentation of a legend of object symbols will be in relation thereto. In one exemplary embodiment, the PDF document includes text and graphics. However, as utilized herein, the document is intended to encompass any other types of information that can be displayed on the monitor 20, such as word processing documents, spreadsheets, photographs, graphics layouts, three-dimensional models, video, graphical content such as medical X-ray images, and so forth. However, it will be appreciated by those having ordinary skill in the art that documents in any other formats that are editable with any other software application may be substituted. The software application runs on a windowing system, and accordingly has a number of interface elements that are common to applications for the same. The system unit 12 is understood to have a copy of the software application installed thereon. Those having skill in the art will recognize that the software application is understood to refer to any software program embodying the contemplated method of the present disclosure.

In further detail, the functional, interactive features of the graphical user interface 30 displaying the document 32 are contained within window (not shown) with basic window controls that variously minimize, maximize, and close the window. In addition, the window is contemplated to include a menu bar from which various functions of the reviewing software application may be invoked via activated pull-down menus. So that commonly utilized functions such as opening files, saving changes to the currently opened file, and so forth are readily accessible, there is also a tool bar. It is contemplated that annotations or markups of various types can be placed and manipulated via the graphical user interface. Selection of the markup type may be made with the respective icons of the tool bar.

Markups or annotations are understood to be a type of data object that is associated with an underlying document, and generally refers to a conceptual entity corresponding to a contiguous block of memory at a specific location and with a specific size, and is defined by one or more properties that define its characteristics. A markup can be represented by an object symbol. A markup can be a geometric primitive such as a point, a line (single segment or multi-segment), an ellipse, a polygon, or the like, as well as specialized annotation object such as callout boxes. To further define the features of the annotation, various parameter attributes can be associated therewith such as dimensions, color, line thickness, positioning coordinates, and others that are specific to that markup type. Although markups are stored in the document, they generally do not become a part of an underlying drawing; visually, the markups are overlaid on a separate layer of the document. The markups may be allowed to be viewed when overlaid. Typically this may be toggled on or off as desired.

As object symbols, the visual representation of markups may be used to symbolically represent any data. As will be discussed in detail below, a legend or key may be added as another type of annotation to a document. The legend may be used to describe in text the meaning of an object symbol used in a document. When visually overlaid on a drawing, such as an architectural drawing, the legend may readily aid the viewer of the document to understanding the various object symbols that are presented.

With reference to the flowchart of FIG. 4, in accordance with one embodiment of the present disclosure, a method of computerized presentation of a legend of object symbols on a document is provided. The method begins with a step 200 of receiving a document having one or more object symbols. Each object symbol includes a graphical representation, an object symbol type and an object type numerical value associated therewith. The method may further include a step 210 of receiving a selection of object symbols of the one or more object symbols. The method further includes a step 220 of generating one or more groups of object symbols of the one or more object symbols based upon the object symbol type of each of the object symbols. The method further includes a step 230 of deriving a group cumulative quantity for each group of object symbols based upon the object type numerical value of each object symbol in each group of object symbols. The method further includes a step 240 of generating a legend including a one or more legend entries corresponding to each of the one or more groups of object symbols. Each legend entry includes a group type symbol, the object symbol type corresponding to the group of object symbols, and a group cumulative quantity. The method further includes a step 250 of displaying the legend on the document. The method may further include a step 260 of receiving changes to the document, and the changes include changes to a number of the object symbols. The method may further include a step 270 of revising the group cumulative quantity for each group of object symbols which have been changed. The method may further include a step 280 of regenerating the legend. The method may further include a step 290 of redisplaying the legend on the document.

With further reference to FIG. 3, the document 32 is represented by a zoomed in portion of an example architectural or engineering drawing. Further, the document 32 may encompass multiple pages as well. It is understood that the document 32 extends beyond that which is shown in the particular view of the graphical user interface 30. In the portion of the document 30, there are provided various markups that are represented by object symbols 34, 36, 38, 40, 42 and 44. In this example, the object symbols 34, 36, 38, 40, 42 and 44 are graphically represented by two letters of text within a circle. However, it is understood that any other graphical representations of the object symbols may be used. Each of the object symbols 34, 36, 38, 40, 42 and 44 includes a graphical representation, an object symbol type and an object type numerical value associated therewith.

As mentioned above each of the object symbols 34, 36, 38, 40, 42 and 44 has a corresponding object symbol type and an object type numerical value associated therewith. For example, the object symbols in this document 32 may correspond to markups for a punchlist. Object symbol 42 that is graphically represented by the letters “DM” inside of a circle may correspond to an object symbol type for “damaged moulding.” The object type numerical value for this object symbol 42 may be 1. This would be understood to indicate that there is moulding work that has been damaged at the location indicated by the object symbol 42 on the document 32.

Each of the object symbols 34, 36, 38, 40, 42 and 44 have been selected as respectively indicated by selection highlights 46, 48, 50, 52, 54 and 56. It is understood that a user may make such selection through interaction with the graphical user interface 30 such as through the use of a cursor/mouse and/or keyboard controls. In this regard, the step 210 of receiving a selection of object symbols of the one or more object symbols is processed by the system unit 12. The user need not select all of the various object symbols contained in the document 32 but may be selective in such selections. Further, while only the object symbols 34, 36, 38, 40, 42 and 44 are displayed, additional object symbols may also be selected that are not displayed in this zoomed in view.

Referring now to FIG. 5, there is depicted the graphical user interface 30 of FIG. 3 with the addition of a tools menu 58. The tools menu 58 may be accessed and displayed by “right-clicking” of the mouse controls. Movement of a cursor adjacent a legend tool menu item 60 allows for the selection of a “Create New Legend” sub-menu item 62. The selection of the “Create New Legend” sub-menu item 62 is contemplated to initiate the step 220 of generating one or more groups of object symbols of the one or more object symbols based upon the object symbol type of each of the object symbols. The generation of the one or more groups of object symbols may be based upon the selected object symbols. It is contemplated that the document may include multiple pages. In this regard, the method may further include receiving a page range of the multiple pages. The generated one or more groups of object symbols is within the received page range.

As mentioned above, the method further includes a step 230 of deriving a group cumulative quantity for each group of object symbols based upon the object type numerical value of each object symbol in each group of object symbols. The object type numerical value for a given object symbol may be any value. The object type numerical value may be a singular instance. As such, the object type numerical value may be used for a counter of such instances when grouped or associated with other selected object symbols. For example as in the case of a punch list, an object symbol may correspond to a specific type of work task to be addressed. The object type numerical value for a given object symbol may correspond to a measurement, such as a linear distance, an area, a height, a volume, a weight, and/or results of calculations based upon other measurements (such as an area derived from height and width measurements). A selected one of the one or more object symbols may have more than one object type numerical value associated therewith.

Referring now to FIG. 6, there is depicted the graphical user interface 30 of FIG. 5 with the additional of a legend 64. In this example, the method of the present invention is contemplated to be used to generate a punchlist. The legend 64 features a legend entry type header 66 denoted “Description,” a legend entry type header 68 denoted “Quantity.” and a legend entry type header 70 denoted “Unit.” The legend 64 includes legend entries 72, 74, 76, 78, 80, 82 and 84. Each legend entry 72, 74, 76, 78, 80, 82 and 84 includes a corresponding group type symbol, the object symbol type corresponding to the group of object symbols, and a group cumulative quantity.

In this example, legend entry 74 corresponds to a group type symbol with a graphical representation of the text “DM” within a circle. This corresponds to the group of object symbols based upon the object symbol type of the object symbol 42 (that was previously selected as discussed above). Each legend entry may include a type description corresponding to the object symbol type. The type description for the legend entry 74 may be for “Damaged Molding” for example. It is contemplated that the legend entries may have more than one type description. For example, each of the legend entries 72, 74, 76, 78, 80, 82 and 84 has a trade description. For example the legend entry 74 has a trade description of “Carpentry” as presented in tabular form under the legend entry type header 66 denoted “Description.” The legend entry 74 includes the group cumulative quantity of “1” as presented in tabular form under the legend entry type header 68 denoted “Quantity.” Each legend entry may include a unit of measurement corresponding to the group cumulative quantity. The legend entries 72, 74, 76, 78, 80, 82 and 84 include the unit of measurement of the group cumulative quantity of “Count” as presented in tabular form under the legend entry type header 70 denoted “Unit.” The legend entry 76 has a group cumulative quantity of “2”. This legend entry 76 corresponds to the previously selected object symbols 38 and 44. In this regard, an aspect of the present invention allows for the creation of a legend or table that is automatically formatted with a graphical representation of a user's selected markup or object symbols along with a description and cumulative numerical quantity of such object symbols.

It is contemplated that the particular position of the legend 64 may be readily modified by the user. In this regard, the window of the legend 64 may be clicked on and dragged to another location about the document 32 or otherwise moved according to the user controls of the graphical user interface 30. It is further contemplated that the visual presentation of the legend may also be readily modified by the user according to the user controls of the graphical user interface 30. For example the overall sizing of the legend 64, font, font size, font color, background color/shading, column spacing, columns of data presented, and so forth may be modified.

Referring now to FIG. 7, there is depicted the graphical user interface 30 of FIG. 6 with a new markup having been added, object symbol 86. The object symbol 86 is graphically represented by the letter “TR” within a circle. Object symbol 86 has been selected as indicated by selection highlight 88. As mentioned above, the method may further include the step 260 of receiving changes to the document 30, and the changes include changes to a number of the object symbols, such as the addition of the object symbol 86. As the object symbol 86 has been selected, the method may further include a step 270 of revising the group cumulative quantity for each group of object symbols which have been changed. In this case, the legend entry 84 corresponds to the object symbol type of the newly added object symbol 86. The method may further include the step 280 of regenerating the legend 64 and the step 290 of redisplaying the legend 64 on the document 32. As the object type numerical value of the newly added object symbol 86 is a single instance, the group cumulative quantity is increased by 1 and is recalculated to be 8 from 7 as shown. In this regard, the quantity value of the legend 64 may be dynamically updated from the perspective of the viewing user.

Referring now to FIG. 8, there is depicted the graphical user interface 30 of FIG. 7 with a new markup having been added, object symbol 90. The object symbol 90 is graphically represented by the letter “WT” within a circle. The object symbol 90 has been selected as indicated by selection highlight 92. However, object symbol type of the newly added object symbol 90 is not already associated with the legend 64. As such, in this embodiment, the legend 64 does not change. In other embodiments, it is contemplated that the system may be configured to automatically select any newly added object symbols for addition to the legend 64.

Referring now to FIG. 9 there is depicted the graphical user interface 30 and document 32 of FIG. 8. In addition, there is depicted a main window 94 that is included in the graphical user interface 30. In further detail, the functional, interactive features of the graphical user interface 32 are contained within a main window 94 that includes a title bar 96 with basic window controls 98 that variously minimize, maximize, and close the main window 94. In addition, the main window 94 includes a menu bar 100, from which various functions of the software application may be invoked via activated pull-down menus. So that commonly utilized functions such as opening files, saving changes to the currently opened file, and so forth are readily accessible, there is also a tool bar 102. It is contemplated that annotations of various types can be placed and manipulated via the graphical user interface 30. Selection of the object symbols and related groups of object symbol types may be made with the respective icons of the tool bar 102.

Tools sets 104, 106 and 108 may be provided. The tool set 104 is denoted “Punchlist Carpentry,” the tool set 106 is denoted “Punchlist Flooring” and the tool set 108 is denoted “Punchlist Electrical.” The tool set 104 includes object symbol tools 110, 112, 114, 116, 118, 120, 122, and 124 respectively correspond to object symbols that may be included within the document 32. This grouping of object symbol tools 110, 112, 114, 116, 118, 120, 122, and 124 have a common object symbol type associated with each of them as all have a common carpentry type. In this regard, the legend 64 contains legend entries 72, 74, 76 and 78 that respectively correspond to the object symbol tools 116, 112, 110, and 122. The tool set 106 includes object symbol tools 126, 128, and 130 respectively correspond to object symbols that may be included within the document 32. This grouping of object symbol tools 126, 128, and 130 have a common object symbol type associated with each of them as all have a common flooring type. In this regard, the legend 64 contains legend entries 82 and 84 that respectively correspond to the object symbol tools 128 and 126. The tool set 108 includes object symbol tools 132, 134, 136, and 138 respectively correspond to object symbols that may be included within the document 32. This grouping of object symbol tools 132, 134, 136, and 138 have a common object symbol type associated with each of them as all have a common electrical type. It is understood that the groups of object symbols may be groups and regrouped as desired based upon one or more object symbol types.

It is contemplated that the legend may be created and updated via use of pull-down menus. In this regard a sub-menu 140 may be provided from the tool set 108 and a legend tool menu item 142 allows for the selection of a “Create New Legend” sub-menu item 144. The selection of the “Create New Legend” sub-menu item 144 is contemplated to initiate the step 220 of generating one or more groups of object symbols of the one or more object symbols based upon the object symbol type of each of the object symbols. In this case, referring now to FIG. 10, a new legend 146 is created. FIG. 10 depicts the graphical user interface 30 and document 32 of FIG. 8 with the addition of the new legend 146. The new legend 146 features a title “Punchlist Electrical.” The new legend 144 features a legend entry type header 148 denoted “Description,” a legend entry type header 150 denoted “Quantity.” and a legend entry type header 152 denoted “Unit.” The new legend 146 does not contain any legend entries as no object symbols have been selected that correspond to any of the object symbol tools 132, 134, 136, and 138.

Referring now to FIG. 11 there is depicted the graphical user interface 30 of FIG. 10 with a new markup having been added, object symbol 154. The object symbol 154 is graphically represented by the letter “EW” within a circle. Object symbol 154 has been selected as indicated by selection highlight 156. As mentioned above, the method may further include the step 260 of receiving changes to the document 30, and the changes include changes to a number of the object symbols, such as the addition of the object symbol 154. A legend entry 158 is added to the new legend 146 that corresponds to the object symbol type of the newly added object symbol 154. As the object type numerical value of the newly added object symbol 86 is a single instance, the group cumulative quantity is calculated to be 1 as indicated.

Each object symbol may also have an object type status associated therewith. The system may determine groups of object symbols based upon the object symbol type status, and the may further determine a group cumulative quantity of such groups of object symbols based upon the object symbol type status. This information may be used to generate corresponding legend entries and regenerate and display the legend with such information.

Referring now to FIG. 12 there is depicted the graphical user interface 30 of FIG. 11 with the addition of the tools menu 58. In addition the object symbol 36 has been selected as indicated by the selection highlight 48. The tools menu 58 may be accessed and displayed by “right-clicking” of the mouse controls. Movement of a cursor adjacent a set status tool menu item 160 allows for the selection of an “Accepted” sub-menu item 162. The selection of the “Accepted” sub-menu item 162 is used to change the object symbol type status associated with the selected object symbol 36 from a default outstanding status to an accepted status.

Referring now to FIG. 13 there is depicted the graphical user interface 30 of FIG. 12. As the object symbol status of object symbol 36 has been changed, the system may be configured to automatically change the object symbol 36 to object symbol 168. The object symbol 168 is selected as indicated by the selection highlight 170. The object symbol 36 is replaced by the object symbol 168 at the same location on the document 32. In effect the object symbol 36 is deleted. The attributes of object symbol 168 may have the same attributes as that of the object symbol 36 with the exception of the object symbol type status and graphical appearance. The graphical representation of object symbol 168 is different from that of the object symbol 36 and may appear in the different type of lining and/or color so as to aid the viewing user that there has been a change in object symbol type status.

As the object symbol 36 has effectively been deleted, the group cumulative quantity associated with the group of object symbols in which object symbol 36 is associated with is automatically incremented by the object type numerical value. In addition, the legend 64 may be updated as shown. The legend entry 84 is associated with the object type of the object symbol 36. As such, the legend entry 84 is now indicated as having a quantity of 7 as reduced by 1 from the previous value of 8. In addition, as the object symbol 168 has replaced the selected object symbol 36, the system is configured to add the object symbol 168 to be associated with the legend 64. As such, a new legend entry 166 is generated. The new legend entry 164 is grouped into its own group of object symbols having the same graphical representation, object symbol type, object type numerical value, and object symbol status. In this example, as there are no other object symbols in the document 32 within this same group, the new legend entry 166 indicates a quantity of 1.

Though not required the legend 64 features the addition of a legend entry type header 164 denoted “Status.” It is contemplated that providing the user with status information in the context of a punchlist is especially useful information to be tabulated in the legend 64. The legend entry 166 includes the text description “Accepted” under the legend entry type header 164. It is noted that the other legend entries 72, 74, 76, 78, 80, 82 and 84 do not have any text description under the legend entry type header 164. This is because these entries and their corresponding object symbols have not had any change in their respective object symbol type status. Rather than just being blank, a default descriptor, such as “outstanding” or “unfinished” can also be provided.

The particulars shown herein are by way of example only for purposes of illustrative discussion, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the various embodiments set forth in the present disclosure. In this regard, no attempt is made to show any more detail than is necessary for a fundamental understanding of the different features of the various embodiments, the description taken with the drawings making apparent to those skilled in the art how these may be implemented in practice. 

1-12. (canceled)
 13. A computer-implemented method of dynamically updating a legend of object symbols in a document, the method comprising: receiving a document comprising one or more object symbols, each of the one or more object symbols being associated with an object symbol type; generating one or more groups of object symbols based on the object symbol type of each of the one or more object symbols, each of the one or more groups being associated with an object symbol type; determining a group quantity for each of the one or more groups; generating a legend including one or more legend entries, each of the one or more legend entries being representative of the corresponding group of the one or more groups, and comprising the group quantity determined for the corresponding group; providing one or more tool sets, each of the one or more tool sets being associated with an object symbol type and comprising one or more object symbol tools; receiving user selection of an object symbol tool of the one or more object symbol tools, wherein the user selection of the object symbol tool adds to the document an object symbol that corresponds to the selected object symbol tool; and updating the legend based on the added object symbol by modifying the group quantity for the group associated with the object symbol type of the added object symbol.
 14. The method of claim 13, further comprising: receiving user selection of at least one object symbol of the one or more object symbols, wherein the generating one or more groups is based on the selected at least one object symbol.
 15. The method of claim 13, wherein each of the one or more object symbols is associated with a numerical value.
 16. The method of claim 15, wherein the determining the group quantity for each of the one or more groups comprises summing the one or more numerical values associated with the one or more object symbols in the group.
 17. The method of claim 15, wherein the numerical value is one of: a distance, an area, a height, a volume, a weight, and a result of a calculation based on a plurality of variables.
 18. The method of claim 13, wherein the document includes a plurality of pages, the method further comprising: receiving a page range within the plurality of pages, the generated one or more groups of object symbols being within the received page range.
 19. The method of claim 13, wherein each of the one or more object symbols is associated with a status and each of the one or more legend entries comprises status information of the corresponding group.
 20. The method of claim 19, further comprising: receiving user input modifying the status associated with an object symbol of the one or more object symbols; and updating the legend based on the user input, wherein the updating comprises modifying the status information of the group including the object symbol.
 21. A system for dynamically updating a legend of object symbols in a document, the system comprising: at least one processor; and at least one storage comprising instructions which, when executed by the at least one processor, cause the at least one processor to perform a plurality of functions comprising: receiving a document comprising one or more object symbols, each of the one or more object symbols being associated with an object symbol type; generating one or more groups of object symbols based on the object symbol type of each of the one or more object symbols, each of the one or more groups being associated with an object symbol type; determining a group quantity for each of the one or more groups; generating a legend including one or more legend entries, each of the one or more legend entries being representative of the corresponding group of the one or more groups, and comprising the group quantity determined for the corresponding group; providing one or more tool sets, each of the one or more tool sets being associated with an object symbol type and comprising one or more object symbol tools; receiving user selection of an object symbol tool of the one or more object symbol tools, wherein the user selection of the object symbol tool adds to the document an object symbol that corresponds to the selected object symbol tool; and updating the legend based on the added object symbol by modifying the group quantity for the group associated with the object symbol type of the added object symbol.
 22. The system of claim 21, the plurality of functions further comprising: receiving user selection of at least one object symbol of the one or more object symbols, wherein the generating one or more groups is based on the selected at least one object symbol.
 23. The system of claim 21, wherein each of the one or more object symbols is associated with a numerical value.
 24. The system of claim 23, wherein the determining the group quantity for each of the one or more groups comprises summing the one or more numerical values associated with the one or more object symbols in the group.
 25. The system of claim 23, wherein the numerical value is one of: a distance, an area, a height, a volume, a weight, and a result of a calculation based on a plurality of variables.
 26. The system of claim 21, wherein the document includes a plurality of pages, the method further comprising: receiving a page range within the plurality of pages, the generated one or more groups of object symbols being within the received page range.
 27. The system of claim 21, wherein each of the one or more object symbols is associated with a status and each of the one or more legend entries comprises status information of the corresponding group.
 28. The system of claim 27, the plurality of functions further comprising: receiving user input modifying the status associated with an object symbol of the one or more object symbols; and updating the legend based on the user input, wherein the updating comprises modifying the status information of the group including the object symbol.
 29. A non-transitory computer-readable medium comprising instructions which, when executed by at least one processor, cause the at least one processor to perform a plurality of functions for dynamically updating a legend of object symbols in a document, the plurality of functions comprising: receiving a document comprising one or more object symbols, each of the one or more object symbols being associated with an object symbol type; generating one or more groups of object symbols based on the object symbol type of each of the one or more object symbols, each of the one or more groups being associated with an object symbol type; determining a group quantity for each of the one or more groups; generating a legend including one or more legend entries, each of the one or more legend entries being representative of the corresponding group of the one or more groups, and comprising the group quantity determined for the corresponding group; providing one or more tool sets, each of the one or more tool sets being associated with an object symbol type and comprising one or more object symbol tools; receiving user selection of an object symbol tool of the one or more object symbol tools, wherein the user selection of the object symbol tool adds to the document an object symbol that corresponds to the selected object symbol tool; and updating the legend based on the added object symbol by modifying the group quantity for the group associated with the object symbol type of the added object symbol.
 30. The non-transitory computer-readable medium of claim 29, the plurality of functions further comprising: receiving user selection of at least one object symbol of the one or more object symbols, wherein the generating one or more groups is based on the selected at least one object symbol.
 31. The non-transitory computer-readable medium of claim 29, wherein each of the one or more object symbols is associated with a numerical value.
 32. The non-transitory computer-readable medium of claim 31, wherein the determining the group quantity for each of the one or more groups comprises summing the one or more numerical values associated with the one or more object symbols in the group. 